1. Field of the Invention
This invention relates to systems, methods, and apparatus for managing automated data storage libraries and more particularly relates to systems, methods, and apparatus for managing automated data storage library control path commands.
2. Description of the Related Art
Automated data storage libraries (“data storage libraries”) provide cost effective storage and retrieval of large quantities of data. The data in automated data storage libraries is stored on data storage media. The data storage media may be housed in a cassette or other housing and stored on shelves inside the library in a fashion that renders the media accessible for physical retrieval. Often, a cassette will include information identifying the data storage media within the cassette.
FIG. 1 is a perspective view of an automated data storage library 100. The depicted data storage library 100 includes a left hand service bay 110, a right hand service bay 120, and one or more storage frames 130. A storage frame 130 may comprise an expansion component of the library 100. Frames 130 may be added or removed to expand or reduce the size and/or functionality of the library. An automated data storage library 100 is often associated with a command source (not shown), such as a host computer, that communicates with the automated data storage library 100 and to access the information stored therein.
FIG. 2 depicts one embodiment of a storage frame 200 which is one example of the storage frame 130 depicted in FIG. 1. The depicted storage frame 200 includes an accessor 220 for accessing data storage media from storage shelves 210 in response to commands from an external host computer (not shown). Host computers typically communicate with the automated data storage library through control paths. For example, a command may be sent requesting that a data cartridge be transported from a data storage shelf 210 to a data storage drive 230, or that a cartridge be transported from a data storage drive 230 to a storage shelf 210, or that the location of one data storage media be swapped with another. A control path may comprise one or more interfaces between the automated data storage library and one or more host computers. In some libraries, the control path may comprise a component of the library, such as communication circuits or adapters. In other libraries, one or more drives may comprise the control path, as described in U.S. Pat. No. 6,434,090. If a host computer sends a command to an automated data storage library and the associated control path fails, the host computer may receive an error and/or lose communication with the library and may consequently be unaware whether the command was executed.
In such a scenario, the host computer may perform a data storage library inventory to ascertain the location of data cartridges and thereby determine whether the command was successfully completed. However, performing an inventory is likely to take considerable time, thereby reducing the productivity of the data storage library and postponing other pending commands. Alternatively, the host computer may reissue the command via the same or an alternate control path. However, merely reissuing the command via an alternative control path poses significant problems as well.
For example, if the host computer reissues the command assuming the command was not completed, the host computer may receive an erroneous failure message if the library had previously completed the command successfully because the location of the relevant data storage media are now different pursuant to the previously issued command. In such a scenario, additional time would be lost as the host computer would then need to perform an inventory to ascertain the current location of the relevant data storage media. In another scenario, if the host computer erroneously assumes the command was successfully completed and moves on to a subsequent task, the uncompleted command will remain uncompleted, and thereby create an environment of additional confusion and inevitable delays and/or errors.
From the foregoing discussion, it should be apparent that a need exists for a system, apparatus, and method for improved control path command management. Beneficially, such a system, apparatus and method would substantially decrease the probability of data storage library error or inefficiency.